package com.myteam.mystory.presention;
/*
 * Hoangg kien
 *
 * */
import java.util.Vector;

import com.myteam.mystory.R;
import com.myteam.mystory.mypagecurldemo.CurlView;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.Layout;
import android.text.StaticLayout;
import android.text.TextPaint;
import android.util.Log;
import android.view.Display;
import android.widget.ImageView;
import android.widget.TextView;

@SuppressLint("ResourceAsColor")
public class CurlActivityHoangKien extends Activity {

	private CurlView mCurlView;
	public static TextView mPagesNumber;
	 Vector<String> listOfPages = new Vector<String>();
	Context context;
	
	int pages = 0;
	static int page = 0;
	public static int currentPage = 0;
	public static int totalPage = 0;

	@SuppressLint("NewApi")
	@SuppressWarnings({ "deprecation" })
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.curl_page);
		int index = 0;
		int indexs = 0;
		if (getLastNonConfigurationInstance() != null) {  //neu Image khac rong
			index = (Integer) getLastNonConfigurationInstance();
			indexs = (index + 1);
//			Log.e("index", index+"");
		}

		String str = "Đây là đề cương Đường lối cách mạng của BH kỳ trước nhé: ( đề cương này của thầy Tuân ) "
					+"- Khi học ngoài giáo trình thì nên kết hợp với quyển Hướng dẫn ôn tập Đường lối cách mạng của ĐCS Việt Nam < sách do thầy Tuân chủ biên - có cả tự luận và trắc nghiệm > , thì khả năng đạt điểm cao là rất lớn."
					+"1. Vai trò cử nguyễn ái quốc trong việc thành lập đản cộng sản việt nam"
					+"2. Tại sao nói cách mạng tháng 8 thành công trong vòng 15 ngày là sự chuẩn bị suốt 15 năm của Đảng"
					+"3. Đảng đã định ra chủ trương, biện pháp gì nhằm đưa nước ta ra khỏi tình trạng ngàn cân treo sợi tóc "
					+"4. Nhận thức và chủ trương của Đảng cộng sản Việt Nam về công nghiệp hóa,hiện đại hóa đất nước trước và sau đổi mới"
					+"5. Sự khác biệt giữa cơ chế kế hoạch hóa tập trung quan liêu bao cấp với kinh tế thị trường định hướng xã hội chủ nghĩa? Đánh giá tích cực và hạn chế cử kinh tế thị trường ở nước ta hiện nay"
					+"6. Tại sao đảng ta chủ trương xây dựng một nền văn hóa tiên tiến đậm đà bản sắc dân tộc ? Đánh giá thực trạng về việc thực hiện chủ trương này"
					+"7. Tại sao Đảng phải đổi mới đường lối đối ngoại ? Thành tựu và hạn chế của Việt Nam về quan hệ kinh tế đối ngoại 20 năm qua"
					+"M thấy học xong 7 câu này là tự tin đi thi rồi, và kỳ vừa rồi thì nó vào tất cả những câu đó."
					+"Đây là đề cương Đường lối cách mạng của BH kỳ trước nhé: ( đề cương này của thầy Tuân ) "
					+"- Khi học ngoài giáo trình thì nên kết hợp với quyển Hướng dẫn ôn tập Đường lối cách mạng của ĐCS Việt Nam < sách do thầy Tuân chủ biên - có cả tự luận và trắc nghiệm > , thì khả năng đạt điểm cao là rất lớn."
					+"1. Vai trò cử nguyễn ái quốc trong việc thành lập đản cộng sản việt nam"
					+"2. Tại sao nói cách mạng tháng 8 thành công trong vòng 15 ngày là sự chuẩn bị suốt 15 năm của Đảng"
					+"3. Đảng đã định ra chủ trương, biện pháp gì nhằm đưa nước ta ra khỏi tình trạng ngàn cân treo sợi tóc "
					+"4. Nhận thức và chủ trương của Đảng cộng sản Việt Nam về công nghiệp hóa,hiện đại hóa đất nước trước và sau đổi mới"
					+"5. Sự khác biệt giữa cơ chế kế hoạch hóa tập trung quan liêu bao cấp với kinh tế thị trường định hướng xã hội chủ nghĩa? Đánh giá tích cực và hạn chế cử kinh tế thị trường ở nước ta hiện nay"
					+"6. Tại sao đảng ta chủ trương xây dựng một nền văn hóa tiên tiến đậm đà bản sắc dân tộc ? Đánh giá thực trạng về việc thực hiện chủ trương này"
					+"7. Tại sao Đảng phải đổi mới đường lối đối ngoại ? Thành tựu và hạn chế của Việt Nam về quan hệ kinh tế đối ngoại 20 năm qua"
					+"M thấy học xong 7 câu này là tự tin đi thi rồi, và kỳ vừa rồi thì nó vào tất cả những câu đó."
					+"Đây là đề cương Đường lối cách mạng của BH kỳ trước nhé: ( đề cương này của thầy Tuân ) "
					+"- Khi học ngoài giáo trình thì nên kết hợp với quyển Hướng dẫn ôn tập Đường lối cách mạng của ĐCS Việt Nam < sách do thầy Tuân chủ biên - có cả tự luận và trắc nghiệm > , thì khả năng đạt điểm cao là rất lớn."
					+"1. Vai trò cử nguyễn ái quốc trong việc thành lập đản cộng sản việt nam"
					+"2. Tại sao nói cách mạng tháng 8 thành công trong vòng 15 ngày là sự chuẩn bị suốt 15 năm của Đảng"
					+"3. Đảng đã định ra chủ trương, biện pháp gì nhằm đưa nước ta ra khỏi tình trạng ngàn cân treo sợi tóc "
					+"4. Nhận thức và chủ trương của Đảng cộng sản Việt Nam về công nghiệp hóa,hiện đại hóa đất nước trước và sau đổi mới"
					+"5. Sự khác biệt giữa cơ chế kế hoạch hóa tập trung quan liêu bao cấp với kinh tế thị trường định hướng xã hội chủ nghĩa? Đánh giá tích cực và hạn chế cử kinh tế thị trường ở nước ta hiện nay"
					+"6. Tại sao đảng ta chủ trương xây dựng một nền văn hóa tiên tiến đậm đà bản sắc dân tộc ? Đánh giá thực trạng về việc thực hiện chủ trương này"
					+"7. Tại sao Đảng phải đổi mới đường lối đối ngoại ? Thành tựu và hạn chế của Việt Nam về quan hệ kinh tế đối ngoại 20 năm qua"
					+"M thấy học xong 7 câu này là tự tin đi thi rồi, và kỳ vừa rồi thì nó vào tất cả những câu đó.";
						
		
		Typeface tf = Typeface.createFromAsset(this.getAssets(),"fonts/Times New Roman.ttf");
		Display display = getWindowManager().getDefaultDisplay();
//		Log.e("display.getWidth", display.getWidth()+"");
//		Log.e("display.getheight", display.getHeight()+"");
		mPagesNumber = (TextView) findViewById(R.id.text_pagesNumber);
//		mPagesNumber.setText("1/7");
		mCurlView = (CurlView) findViewById(R.id.curl);  //noi dung trang

		mCurlView.setBitmapProvider(new BitmapProvider(str, tf, display.getWidth(), display.getHeight()));
		mCurlView.setCurrentIndex(index);
		mCurlView.setBackgroundColor(android.R.color.white);
	}
	
	@Override
	public void onPause() {
		super.onPause();
		mCurlView.onPause();
	}

	@Override
	public void onResume() {
		super.onResume();
		mCurlView.onResume();
	}

	@Override
	public Object onRetainNonConfigurationInstance() {
		return mCurlView.getCurrentIndex();  //chá»‰ so cua trang hien táº¡i
	}

	public class BitmapProvider implements CurlView.BitmapProvider {
		String story;
//		int pages = 0;
		ImageView image;
		int index = 0, width, height;
		Vector<String> listOfPages = new Vector<String>();
		public int textSize = 40; // cÃƒÂ¡Ã‚Â»Ã‚Â¡ chÃƒÂ¡Ã‚Â»Ã‚Â¯
		int textColor = 0xff000000; // mÃƒÆ’Ã‚Â u chÃƒÂ¡Ã‚Â»Ã‚Â¯
		int pageColor = 0xfff4ebea; // mÃƒÆ’Ã‚Â u nÃƒÂ¡Ã‚Â»Ã¯Â¿Â½n
		int topPadding = 5, leftPadding = 10; // cÃƒâ€žÃ†â€™n trÃƒÆ’Ã‚Âªn, cÃƒâ€žÃ†â€™n
												// dÃƒâ€ Ã‚Â°ÃƒÂ¡Ã‚Â»Ã¢â‚¬Âºi
		TextPaint myTextPaint;

		public BitmapProvider(String str, Typeface tf, int _width, int _height) {
			super();
			width = _width;
			height = _height;
			story = str;
			myTextPaint = new TextPaint();
			myTextPaint.setColor(textColor);
			myTextPaint.setTextSize(textSize);
			myTextPaint.bgColor = pageColor;
			myTextPaint.setAntiAlias(true);
			myTextPaint.setTypeface(tf);
			splitTextIntoPages();
		}

		public BitmapProvider(int textSize) {
			myTextPaint.setTextSize(textSize);

		}

		public BitmapProvider() {
			super();
		}

		public Bitmap getBitmap(int width, int height, int index) {
			return getPageBitmap(index);
		}


		public void splitTextIntoPages() {
			int offsetI = 0, offsetII = 0;

			StaticLayout layout = new StaticLayout(story, myTextPaint, width - (leftPadding << 1), Layout.Alignment.ALIGN_NORMAL, 0.5f,10f, false);
			int totalLines = layout.getLineCount();
			int linePerPage = layout.getLineForVertical(height- (topPadding << 1));
//			Log.i("totalLines   = ", totalLines + "");
//			Log.i("linePerPage   = ", linePerPage + "");
			int i = 0;
			do {
				int line = Math.min(linePerPage * (i + 1), totalLines - 1);

				System.out.println("line   = " + line);
				offsetII = layout.getOffsetForHorizontal(line, width
						- (leftPadding << 1));
				String sub = story.substring(offsetI, offsetII);
				offsetI = offsetII;
				listOfPages.add(sub);
				i++;
			} while (offsetII < story.length());
			pages = listOfPages.size();
		}

		public Bitmap getPageBitmap(int _index) {//cháº¡m tay da cÃ³ rá»“i
			Bitmap pageBitmap, pageContentBitmap;
			pageBitmap = Bitmap.createBitmap(width, height,Bitmap.Config.ARGB_8888);
			pageContentBitmap = Bitmap.createBitmap(width - (leftPadding << 1),height - topPadding, Bitmap.Config.ARGB_8888);
			Canvas c = new Canvas(pageContentBitmap);
			StaticLayout layout = new StaticLayout(listOfPages.elementAt(_index), myTextPaint, width - (leftPadding << 1),Layout.Alignment.ALIGN_NORMAL, 0.5f, 10f, false);
			layout.draw(c);
			Canvas c2 = new Canvas(pageBitmap);
			c2.drawColor(pageColor);
			c2.drawBitmap(pageContentBitmap, leftPadding << 1, topPadding,myTextPaint);
			page = _index;
			currentPage = page;	//trang hien tai
			totalPage = pages;   //tong so trang
			return pageBitmap;
		}

		//
		public int getBitmapCount() {
//			Log.e("Tong trang = ", listOfPages.size() + "");
			return listOfPages.size();
		}

		public void changeSizeText(int size) {
			myTextPaint.setTextSize(size);
		}

		public void changeTextColor(int color) {
			myTextPaint.setColor(color);
		}

		public Bitmap changeBackgroundColor(int color, int _index) {
			Bitmap pageBitmap, pageContentBitmap;
			pageBitmap = Bitmap.createBitmap(width, height,Bitmap.Config.ARGB_8888);
			pageContentBitmap = Bitmap.createBitmap(width - (leftPadding << 1),height - topPadding, Bitmap.Config.ARGB_8888);
			Canvas c = new Canvas(pageContentBitmap);
			StaticLayout layout = new StaticLayout(listOfPages.elementAt(_index), myTextPaint, width- (leftPadding << 1),Layout.Alignment.ALIGN_NORMAL, 0.5f, 10f, false);
			layout.draw(c);
			Canvas c2 = new Canvas(pageBitmap);
			c2.drawColor(color);
			c2.drawBitmap(pageContentBitmap, leftPadding << 1, topPadding,myTextPaint);
			return pageBitmap;
		}

		public Bitmap getBitmap(int width, int height, int index, int color) {
			return changeBackgroundColor(color, index);
		}
	}
}